'\" t
.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.TH aio_return 3 2024-05-02 "Linux man-pages 6.9.1"
.SH NAME
aio_return \- get return status of asynchronous I/O operation
.SH LIBRARY
Real-time library
.RI ( librt ", " \-lrt )
.SH SYNOPSIS
.nf
.B "#include <aio.h>"
.P
.BI "ssize_t aio_return(struct aiocb *" aiocbp );
.fi
.SH DESCRIPTION
The
.BR aio_return ()
function returns the final return status for the asynchronous I/O request
with control block pointed to by
.IR aiocbp .
(See
.BR aio (7)
for a description of the
.I aiocb
structure.)
.P
This function should be called only once for any given request, after
.BR aio_error (3)
returns something other than
.BR EINPROGRESS .
.SH RETURN VALUE
If the asynchronous I/O operation has completed, this function returns
the value that would have been returned in case of a synchronous
.BR read (2),
.BR write (2),
.BR fsync (2),
or
.BR fdatasync (2),
call.
On error, \-1 is returned, and \fIerrno\fP is set to indicate the error.
.P
If the asynchronous I/O operation has not yet completed,
the return value and effect of
.BR aio_return ()
are undefined.
.SH ERRORS
.TP
.B EINVAL
.I aiocbp
does not point at a control block for an asynchronous I/O request
of which the return status has not been retrieved yet.
.TP
.B ENOSYS
.BR aio_return ()
is not implemented.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.na
.nh
.BR aio_return ()
T}	Thread safety	MT-Safe
.TE
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
glibc 2.1.
POSIX.1-2001.
.SH EXAMPLES
See
.BR aio (7).
.SH SEE ALSO
.BR aio_cancel (3),
.BR aio_error (3),
.BR aio_fsync (3),
.BR aio_read (3),
.BR aio_suspend (3),
.BR aio_write (3),
.BR lio_listio (3),
.BR aio (7)
